<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../img/asset-favico.ico">
    <title>编辑信息</title>
    <link rel="stylesheet" href="../css/page-health-orderInfo.css" />
    <link rel="stylesheet" href="../plugins/elementui/index.css" />
    <script src="../plugins/jquery/dist/jquery.min.js"></script>
    <script src="../plugins/healthmobile.js"></script>
    <script src="../plugins/datapicker/datePicker.js"></script>
    <script src="../plugins/vue/vue.js"></script>
    <script src="../plugins/vue/axios-0.18.0.js"></script>
    <script src="../plugins/elementui/index.js"></script>
    <script type="text/javascript" src="https://api.map.baidu.com/getscript?v=2.0&ak=0dGiOpogZZhb28RSrk0Pu5vfVYPFnhof"></script>
    <script>
        var id = getUrlParam("id");
    </script>
    <style>
        #map{
            width:80%;
            height:400px;
            margin-left: 5px
        }

    </style>
</head>
<body data-spy="scroll" data-target="#myNavbar" data-offset="150">
<div id="app" class="app">
    <!-- 页面头部 -->
    <div class="top-header">
        <span class="f-left"><i class="icon-back" onclick="history.go(-1)"></i></span>
        <span class="center">传智健康</span>
        <span class="f-right"><i class="icon-more"></i></span>
    </div>
    <!-- 页面内容 -->
    <div class="contentBox">
        <div class="card">
            <div class="">
                <img :src="'http://qhu4540az.hd-bkt.clouddn.com/'+setmeal.img" width="100%" height="100%" />
            </div>
            <div class="project-text">
                <h4 class="tit">{{setmeal.name}}</h4>
                <p class="subtit">{{setmeal.remark}}</p>
                <p class="keywords">
                    <span>{{setmeal.sex == '0' ? '性别不限' : setmeal.sex == '1' ? '男':'女'}}</span>
                    <span>{{setmeal.age}}</span>
                </p>
            </div>
            <div class="project-know">
                <a href="orderNotice.html" class="link-page">
                    <i class="icon-ask-circle"><span class="path1"></span><span class="path2"></span></i>
                    <span class="word">预约须知</span>
                    <span class="arrow"><i class="icon-rit-arrow"></i></span>
                </a>
            </div>
        </div>
        <div class="form-info">
            <div class="info-title">
                <span class="name">体检人信息</span>
            </div>
            <form class="info-form">
                <div class="input-row">
                    <label>体检人</label>
                    <input v-model="orderInfo.name" type="text" class="input-clear" placeholder="请输入姓名">
                </div>
                <div class="input-row single-radio">
                    <label class="radio-title">性别</label>
                    <div class="radio-list">
                        <div class="radio">
                            <input v-model="orderInfo.sex" id="item1" type="radio" name="sex" value="1" checked>
                            <label for="item1"></label>
                            <span>男</span>
                        </div>
                        <div class="radio">
                            <input v-model="orderInfo.sex" id="item2" type="radio" name="sex" value="2">
                            <label for="item2"></label>
                            <span>女</span>
                        </div>
                    </div>
                </div>
                <div class="input-row">
                    <label>手机号</label>
                    <input v-model="orderInfo.telephone" type="text" class="input-clear" placeholder="请输入手机号">
                    <input style="font-size: x-small;" id="validateCodeButton" @click="sendValidateCode()" type="button" value="发送验证码">
                </div>
                <div class="input-row">
                    <label>验证码</label>
                    <input v-model="orderInfo.validateCode" type="text" class="input-clear" placeholder="请输入验证码">
                </div>
                <div class="input-row">
                    <label>身份证号</label>
                    <input v-model="orderInfo.idCard" type="text" class="input-clear" placeholder="请输入身份证号">
                </div>
                <div class="input-row">
                    <label>预约地址</label>
                    <el-button  size="medium" type="primary" @click="getGpsList()" round icon="el-icon-location" style="height: 40px">
                        查看地图定位
                    </el-button>
                    <el-select v-model="orderInfo.longitudeAndLatitude" placeholder="请选择" @change="change()" style="width: 400px;">
                        <el-option
                                v-for="item in addresses"
                                :key="item.longitudeAndLatitude"
                                :label="item.name"
                                :value="item.longitudeAndLatitude">
                        </el-option>
                    </el-select>

                </div>
                <div class="date">
                    <label>体检日期</label>
                    <i class="icon-date" class="picktime"></i>
                    <input v-model="orderInfo.orderDate" type="text" class="picktime" readonly>
                </div>
            </form>
            <div class="box-button">
                <button @click="submitOrder()" type="button" class="btn order-btn">提交预约</button>
            </div>
        </div>
        <el-dialog title="体检机构" :visible.sync="dialogFormVisible4Map">
            <div id="map" ></div>
            <div slot="footer" class="dialog-footer">
                <el-button @click="dialogFormVisible4Map = false">取消</el-button>
                <el-button type="primary" @click="handleEdit()">确定</el-button>
            </div>
        </el-dialog>
    </div>
</div>
<script>
    var vue = new Vue({
        el:'#app',
        data:{
            setmeal:{},//套餐信息
            orderInfo:{
                setmealId:id,
                sex:'1'
            },//预约信息
            dialogFormVisible4Map :false,
            addresses:[]
        },
        methods:{
            change(){
                this.$forceUpdate();
            },
            //发送验证码
            sendValidateCode(){
                //获取用户输入的手机号
                var telephone = this.orderInfo.telephone;
                //校验手机号是否符合规则
                if (!checkTelephone(telephone)){
                    //校验不通过,提示错误信息,结束该方法
                    this.$message.error("请输入正确的手机号");
                    return false;
                }
                //校验通过,实现30秒倒计时效果
                //获取按钮对象,通过jquery获得
                /*
                    因为jquery无法使用js的功能,所以要将jquery对象转为js对象
                    0的由来:
                        首先要区分jquery对象获取出来的元素有几个,因为在这里通过id获取的,所以只有一个jquery对象
                        所以在转换时写0
                 */
                //validateCodeButton和clock是在js脚本里定义的
                validateCodeButton = $("#validateCodeButton")[0];
                //window提供的定时器方法,可以实现每隔指定时间调用指定方法,时间单位是ms
                //获取js对象的目的是为了实现30s效果后结束定时器方法
                clock = window.setInterval(doLoop,1000);
                //发送ajax请求,向用户发送验证码
                axios.post("/validateCode/send4Order?telephone="+telephone).then((res) => {
                    if (!res.data.flag) {
                        //验证码发送失败
                        this.$message.error(res.data.message);
                    }
                })

            },
            //提交预约
            submitOrder(){
                //对用户输入的身份证号进行校验
                var idCard = this.orderInfo.idCard;
                if (!checkIdCard(idCard)){
                    //身份证号检验不通过
                    this.$message.error("身份证号码输入错误，请重新输入");
                    return false;
                }
                //发送ajax请求,将表单数据提交到后台进行业务处理
                axios.post("/order/submit",this.orderInfo).then((res) => {
                    if (res.data.flag){
                        //预约成功,跳转到成功页面
                        window.location.href = "orderSuccess.html?orderId="+res.data.data;
                    } else{
                        //预约失败,提示错误信息
                        this.$message.error(res.data.message);
                    }
                })
            },
            getGpsList(){
                this.dialogFormVisible4Map = true;
                this.createMaps();
            },
            //通过指定的毫秒数调用方法,否则第一次加载不出来
            createMaps(){
                setTimeout(
                    () => {
                        this.createMap()
                    },0);
            },
            //创建地图实例
            createMap() {
                // 创建Map实例
                var map = new BMap.Map("map");
                var geolocation = new BMap.Geolocation();
                //调用百度地图api 中的获取当前位置接口
                geolocation.getCurrentPosition(function (r) {
                    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                        //获取当前位置经纬度
                        let myGeo = new BMap.Geocoder();
                        myGeo.getLocation(new BMap.Point(r.point.lng, r.point.lat), function (result) {
                            if (result) {
                                console.log(result);
                                // 初始化地图,设置中心点坐标和地图级别
                                //获取经纬度
                                var lal = vue.orderInfo.longitudeAndLatitude;

                                if (lal != null){
                                    var arr = lal.split(",");
                                    var longitude = arr[0];
                                    var latitude = arr[1];
                                    map.centerAndZoom(new BMap.Point(longitude, latitude), 12);//设置中心点
                                    map.setCurrentCity("合肥");
                                    var marker = new BMap.Marker(new BMap.Point(longitude, latitude));
                                    //把标注添加到地图上
                                    map.addOverlay(marker);
                                }else{
                                    map.centerAndZoom(new BMap.Point(result.point.lng, result.point.lat), 12);//设置中心点
                                    map.setCurrentCity("合肥");        //由于有3D图，需要设置城市哦
                                    var marker = new BMap.Marker(new BMap.Point(result.point.lng, result.point.lat));
                                    //把标注添加到地图上
                                    map.addOverlay(marker);
                                }
                                //开启鼠标滚轮缩放,默认关闭
                                map.enableScrollWheelZoom(false)
                                //添加缩略图控件
                                map.addControl(new BMap.OverviewMapControl({
                                    isOpen: false,
                                    anchor: BMAP_ANCHOR_BOTTOM_RIGHT
                                }));
                                //添加缩放平移控件
                                map.addControl(new BMap.NavigationControl());
                                //添加比例尺控件
                                map.addControl(new BMap.ScaleControl());
                                //添加地图类型控件
                                map.addControl(new BMap.MapTypeControl());

                            }
                        });
                    }
                });
            },
            getAddress(){
                axios.post("/address/findAllAddress").then((res) => {
                    if (res.data.flag){
                        //查询成功
                        this.addresses = res.data.data;
                    } else{
                        //查询失败
                        this.$message.error(res.data.message);
                    }
                })
            }
        },
        mounted(){
            //发送ajax请求,将套餐数据展示到预约页面上
            axios.post("/setmeal/findById?id="+id).then((res) => {
                if (res.data.flag) {
                    this.setmeal = res.data.data;
                }
            });
            this.getAddress();
        }
    });
</script>
<script>
    //日期控件
    var calendar = new datePicker();
    calendar.init({
        'trigger': '.picktime',/*按钮选择器，用于触发弹出插件*/
        'type': 'date',/*模式：date日期；datetime日期时间；time时间；ym年月；*/
        'minDate': getSpecifiedDate(new Date(),1),/*获得指定日期之后几天的最小日期*/
        'maxDate': getSpecifiedDate(new Date(),30),/*最大日期*/
        'onSubmit': function() { /*确认时触发事件*/
            //var theSelectData = calendar.value;
        },
        'onClose': function() { /*取消时触发事件*/ }
    });
</script>
</body>
</html>